package com.seo.service.keyword.sdk;

import java.util.List;
import java.util.Map;

import com.seo.pojo.ReturnBody;


/**
 * KeywordService
 * @author shibeilei
 * @version 2017.12.06 15:42
 *
 */
public interface KeywordService {

	/**
	 * 获取关键词报价
	 * @param keyWord 关键词
	 * @param type 用户类型
	 * @param engine 搜索引擎
	 * @return List<Map<String, Object>>
	 */
	List<Map<String, Object>> getKeyWordOffer(Map<String, Object> param);
	
	/**
	 * 获取关键词报价
	 * @param keyWord 关键词
	 * @param type 用户类型
	 * @param userId userId
	 * @return List<Map<String, Object>>
	 */
	List<Map<String, Object>> getKeyWordOffer(List<String> keyWords, String type, Integer userId, String[] engineCode);

	/**
	 * 获取搜索引擎
	 * @return List<Map<String, Object>>
	 */
	List<Map<String, Object>> getEngineList();

	/**
	 * 添加关键词
	 * @param param param
	 * @return String
	 */
	ReturnBody saveKeyWord(Map<String, Object> param, String type, String uploadType);

	/**
	 * 代理添加关键词
	 * @param param param
	 * @return String
	 */
	ReturnBody saveKeyWordProxy(Map<String, Object> param, String uploadType);

	/**
	 * 关键词指数列表
	 * @return List<Map<String, Object>>
	 */
	List<Map<String, Object>> getKeyWordOffer();

	/**
	 * 添加关键词指数列表
	 * @return List<Map<String, Object>>
	 */
	ReturnBody saveIndex(Map<String, Object> params);

	Map<String, Object> getIndexById(Integer id);

	ReturnBody updateIndex(Map<String, Object> params);

	int deleteIndex(Integer id);

	Map<String, Object> getProxyIndexById(Integer id);

	List<Map<String, Object>> getKeyWordIndexProxy(Integer userId);

	ReturnBody saveProxyIndex(Map<String, Object> params);
	
	List<Map<String, Object>> getKeywordGroupList(Map<String, Object> params);

	int saveGroup(Map<String, Object> params);

	int getKeywordGroupNum(Integer id);

	int deleteGroup(Integer id);

	int updateGroup(Map<String, Object> params);
	
	List<Map<String, Object>> getRecycleBinList(Map<String, Object> params);
	
	int getRecycleBinCnt(Map<String, Object> params);
	
	int keyWordUpdate(Map<String, Object> pam);
	
	int deleteK(Map<String, Object> pam);

	List<Map<String, Object>> getKeyWordOffer1(Map<String, Object> param);
	
}

